package com.easygem.front.mapper;

import com.easygem.common.model.system.Dept;
import com.easygem.common.model.system.User;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @author 廖思炜
 * @version 1.0
 * @className SeatMapper
 * @Description TODO 座席相关数据访问层
 * @date 2025/3/25 9:14
 */
public interface SeatMapper extends Mapper<User>, com.easygem.business.mapper.Mapper<User>{
    /**
     * 多条件查询坐席
     * @param map
     * @return
     */
    public List<User> selectSeatsList(Map<String, Object> map);

    /**
     * 优化
     * @return
     */
    Long selectSeatsList_COUNT();

    /**
     * 得到所有部门
     * @return
     */
    public List<Dept> selectDeptList();

    /**
     * 得到最大坐席数量
     * @return
     */
    public Integer getMaxSeatsCount(@Param("accountName") String accountName);

    /**
     * 得到已设置坐席数量
     * @return
     */
    public Integer getUsingSeatsCount(@Param("accountName") String accountName);

    /**
     * 检查状态是否存在
     * @param user
     * @return
     */
    Integer checkStatus(User user);

    /**
     * 更新绑定手机号
     * @param user
     * @return
     */
    Integer updateIsValidate(User user);

    /**
     * 得到用户信息，坐席设置特供版
     * @return
     */
    List<User> getAllSeatVO(Map<String,Object> map);

    /**
     * 优化
     * @return
     */
    Long getAllSeatVO_COUNT();

}
